/***********************************************************************
 * Module:  Directeur.java
 * Author:  Chris
 * Purpose: Defines the Class Directeur
 ***********************************************************************/

package modele;

import java.util.*;

/** @pdOid b79cb847-77c8-48b7-be04-63a70b9061e2 */
public class Directeur extends Employe {
   /** @pdRoleInfo migr=no name=Tarification assc=association16 coll=java.util.Collection impl=java.util.HashSet mult=0..* */
   public ArrayList<Tarification> tarification;
   private static float tarif;
  
   private static Directeur _instanceD= null;
   /** @pdOid 872bb447-2865-4ef6-a333-91aeaaf08adb */
   public Directeur(float tar){
	   this.tarif=tar;
   }
   public Directeur(){
	   
   }
   public void setTarif(float valeur) {
      // TODO: implement
	 this.tarif=valeur;
   }
   public float getTarif(){
	   return this.tarif;
   }
   
   /** @pdGenerated default getter */
   public ArrayList<Tarification> getTarification() {
      if (tarification == null)
         tarification = new ArrayList<Tarification>();
      return tarification;
   }
   
   /** @pdGenerated default iterator getter */
   public java.util.Iterator getIteratorTarification() {
      if (tarification == null)
         tarification = new ArrayList<Tarification>();
      return tarification.iterator();
   }
   
   /** @pdGenerated default setter
     * @param newTarification */
   public void setTarification(java.util.Collection<Tarification> newTarification) {
      removeAllTarification();
      for (java.util.Iterator iter = newTarification.iterator(); iter.hasNext();)
         addTarification((Tarification)iter.next());
   }
   
   /** @pdGenerated default add
     * @param newTarification */
   public void addTarification(Tarification newTarification) {
      if (newTarification == null)
         return;
      if (this.tarification == null)
         this.tarification = new ArrayList<Tarification>();
      if (!this.tarification.contains(newTarification))
         this.tarification.add(newTarification);
   }
   
   /** @pdGenerated default remove
     * @param oldTarification */
   public void removeTarification(Tarification oldTarification) {
      if (oldTarification == null)
         return;
      if (this.tarification != null)
         if (this.tarification.contains(oldTarification))
            this.tarification.remove(oldTarification);
   }
   
   /** @pdGenerated default removeAll */
   public void removeAllTarification() {
      if (tarification != null)
         tarification.clear();
   }

   public static synchronized Directeur getInstance() {
		if (_instanceD == null)
			_instanceD = new Directeur();
		return _instanceD;
	}
   
}